//package com.zyc.demo.rabbitmq.config;
//
//import org.springframework.amqp.core.*;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//
//@Configuration
//public class FanoutConfig {
//
//    /**
//     * 定义名为queueA的队列
//     *
//     * @return
//     */
//    @Bean(name = ConstantVar.queueA)
//    public Queue queueA() {
//        Queue queue = new Queue(ConstantVar.queueA, true, false, false, null);
//        return queue;
//    }
//
//    /**
//     * 定义名为queueB的队列
//     *
//     * @return
//     */
//    @Bean(name = ConstantVar.queueB)
//    public Queue queueB() {
//        Queue queue = new Queue(ConstantVar.queueB, true, false, false, null);
//        return queue;
//    }
//
//    /**
//     * 定义名为queueC的队列
//     *
//     * @return
//     */
//    @Bean(name = ConstantVar.queueC)
//    public Queue queueC() {
//        Queue queue = new Queue(ConstantVar.queueC, true, false, false, null);
//        return queue;
//    }
//
//    /**
//     * 创建一个fanout模式的交换机
//     *
//     * @return
//     */
//    @Bean
//    public FanoutExchange fanoutExchange() {
//        String fanoutExchangeName = ConstantVar.fanoutExchangeName;
//        FanoutExchange fanoutExchange = new FanoutExchange(fanoutExchangeName, true, false, null);
//        return fanoutExchange;
//    }
//
//    /**
//     * 将队列queueA和交换机fanoutExchange进行绑定
//     *
//     * @return
//     */
//    @Bean
//    public Binding bindingQueueAToFanoutExchange() {
//        Binding binding = BindingBuilder.bind(queueA()).to(fanoutExchange());
//        return binding;
//    }
//
//    /**
//     * 将队列queueB和交换机fanoutExchange进行绑定
//     *
//     * @return
//     */
//    @Bean
//    public Binding bindingQueueBToFanoutExchange() {
//        Binding binding = BindingBuilder.bind(queueB()).to(fanoutExchange());
//        return binding;
//    }
//
//    /**
//     * 将队列queueC和交换机fanoutExchange进行绑定
//     *
//     * @return
//     */
//    @Bean
//    public Binding bindingQueueCToFanoutExchange() {
//        Binding binding = BindingBuilder.bind(queueC()).to(fanoutExchange());
//        return binding;
//    }
//
//}
